package MAgentAssignment.ontology;

import jade.content.onto.BasicOntology;
import jade.content.onto.Ontology;
import jade.content.onto.OntologyException;
import jade.content.schema.AgentActionSchema;
import jade.content.schema.ConceptSchema;
import jade.content.schema.ObjectSchema;
import jade.content.schema.PrimitiveSchema;

/**
 * Created by IntelliJ IDEA.
 * User: prageeth
 * Date: 2/17/12
 * Time: 3:00 PM
 * To change this template use File | Settings | File Templates.
 */
public class FlightOntology extends Ontology implements FlightVocabulary
{
    public static final String ONTOLOGY_NAME = "FLIGHT-Ontology";
    private static Ontology instance;

    // ----------> Method to access the singleton ontology object
    public static Ontology getInstance()
    {
        if(instance == null)
        {
            instance = new FlightOntology();
        }
        return instance;
    }

    // Private constructor
    private FlightOntology()
    {

        super( ONTOLOGY_NAME, BasicOntology.getInstance() );

//        try
//        {
//
//            // ------- Add Concepts
//
            ConceptSchema conceptSchema = new ConceptSchema( "Flight" );
//            conceptSchema.add("Flight", );
//
//            // ------- Add AgentActions
//
//            ...
//
//            // MakeOperation
//            add( as = new AgentActionSchema( MAKE_OPERATION ), MakeOperation.class );
//            as.add( MAKE_OPERATION_TYPE, (PrimitiveSchema) getSchema( BasicOntology.INTEGER ), ObjectSchema.MANDATORY );
//            as.add( MAKE_OPERATION_AMOUNT, (PrimitiveSchema) getSchema( BasicOntology.FLOAT ), ObjectSchema.MANDATORY );
//            as.add( MAKE_OPERATION_ACCOUNTID, (PrimitiveSchema) getSchema( BasicOntology.STRING ), ObjectSchema.MANDATORY );
//
//            ...
//        }
//        catch( OntologyException oe )
//        {
//            oe.printStackTrace();
//        }
    }
}// BankOntology


